In general, instruments include devices that measure physical quantities of objects and events. An example of a measuring instrument is an electricity meter. Electricity meters measure the amount of electric energy consumed by a residence, business, or an electrically powered device.
Electronic electricity meters include a microcontroller, or processor that controls a number of subsystems including metrology subsystems, communication subsystem(s) and data stores. The processor is typically programmed with firmware that controls the interaction of the processor with the different subsystems. The firmware includes programs (drivers) that allow the operating system and application software to interact with hardware components. Typically drivers are written to include higher level logic elements and hardware specific elements within the same code.
As new meters are developed over time they may have unique microprocessor or microcontroller hardware features. This may include specific components external to the processor. Because hardware drivers are typically hard coded into the firmware applications, the firmware has to be re-programmed (applications have to be rewritten) to incorporate new device drivers. Re-programming of the firmware is costly.